SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TCCANJ_CLIE_I06]    
/*-------------------------------------------------------*/    
/*---Empresa              : OFISIS S.A.                --*/    
/*---Cliente              : OFISIS S.A.                --*/    
/*---Sistema              : TESORERIA                  --*/    
/*---M÷dulo               : Empresa                    --*/    
/*---Programa             : Grabaci÷n Documentos       --*/    
/*                          Generadas x Letras         --*/    
/*                          por Canje                  --*/    
/*---       CTAS POR COBRAR            --*/      
/*---Script               : tccanj_p.sql               --*/    
/*---Nombre SP            : SP_TCCANJ_CLIE_I06         --*/    
/*---Desarrollado por     : Eduardo Vivar Pomiano      --*/    
/*---Fecha Creaci÷n       : 31/01/2000                 --*/    
/*---Base Datos           : Microsoft Sql Server       --*/    
/*---Versi÷n              : 7.0                        --*/    
/*---Invoca a SP          :                            --*/    
/*-------------------------------------------------------*/    
/*-------------------------------------------------------*/    
/*---Modificado 1 por     : Maribel Julca Rodriguez    --*/    
/*---Fecha Modificaci©n   : 21/04/2005                 --*/     
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA, CO_USUA_MODI  --*/    
/*-------------------------------------------------------*/    
/*-------------------------------------------------------*/    
/*---Modificado 2 por     : Carlos Marquez Escobar    --*/    
/*---Fecha Modificaci©n   : 26/08/2005                 --*/     
/*---Detalle Modificaci©n : Obtener estado origen de docs y ya no en apt --*/    
/*-------------------------------------------------------*/    
  
/*-------------------------------------------------------*/    
/*---Comentarios                                       --*/    
/*---                                                  --*/    
/*---                                                  --*/    
/*-------------------------------------------------------*/    
/*-------------------------------------------------------*/    
/*---Drop Proc SP_TCCANJ_CLIE_I06                      --*/    
/*---Grant Execute on SP_TCCANJ_CLIE_I06 to public         --*/     
/*---SP_TCCANJ_CLIE_I06 '99', 'OFISIS', '10253647850', 'FAC', '001-0000001', '00000001',     
   2, 1711, 1711, 1711, 1711, 1711, 'ACT'  */    
/*-------------------------------------------------------*/    
 @ISCO_EMPR        TD_VC_002,     
 @ISCO_USUA_MODI   TD_VC_008_USUA,    
 @ISCO_CLIE        TD_VC_020,    
 @ISCO_UNID_CONC   TD_VC_003,    
 @IDFE_CANJ         TD_DT_001,    
 @ISCO_TIPO_DOCU   TD_VC_003,    
 @ISNU_DOCU_CLIE   TD_VC_020,    
 @ISNU_CANJ        TD_VC_008,    
 @INNU_SECU_CANJ   TD_IN_001,    
 @INIM_DOCU     TD_NU_016_004,    
 @INIM_SALD_DOCU   TD_NU_016_004,    
 @INIM_SALD_CONV   TD_NU_016_004,    
 @INIM_CANJ_MCAN   TD_NU_016_004,    
 @INIM_CANJ_MDOC   TD_NU_016_004,    
 @ISCO_ESTA_ORIG   TD_VC_003,    
 @ISST_CIER_DOCU   TD_VC_001  
 As  
Declare    
   @VNNU_SECU     TD_IN_001,    
   @VSCO_ESTA_DOCU  TD_VC_003,    
   @VSCO_ESTA_DOCI  TD_VC_003,   
   @VSCO_DOCU_LETR  TD_VC_003    
     
 Begin Tran SP_TCCANJ_CLIE_I06    
    
    
   Select @VSCO_DOCU_LETR = Null, @VSCO_ESTA_DOCU = Null    
    
    Exec SP_TTDOCU_CNTB_Q01 6, @VSCO_DOCU_LETR OutPut    
    
    Exec SP_TTTIES_DOCU_Q01 3, @VSCO_ESTA_DOCU OutPut    
  
 If @ISCO_TIPO_DOCU != @VSCO_DOCU_LETR  
  
  Select  @VSCO_ESTA_DOCI = CO_ESTA_DOCU  
  From  TMDOCU_CLIE  
  Where CO_EMPR = @ISCO_EMPR     
  And CO_TIPO_DOCU = @ISCO_TIPO_DOCU     
  And NU_DOCU_CLIE = @ISNU_DOCU_CLIE    
   
 Else  
  Select  @VSCO_ESTA_DOCI = CO_ESTA_DOCU  
  From  TMLETR_CLIE  
  Where CO_EMPR = @ISCO_EMPR     
  And NU_LETR_CLIE = @ISNU_DOCU_CLIE        
   
  
  
    
  Select  @INNU_SECU_CANJ = Max(NU_SECU_CANJ) + 1    
  From  TDCANJ_CLIE    
  Where  CO_EMPR = @ISCO_EMPR    
   AND CO_UNID_CONC = @ISCO_UNID_CONC    
   AND CO_CLIE = @ISCO_CLIE    
   AND NU_CANJ = @ISNU_CANJ    
   AND FE_CANJ = @IDFE_CANJ    
    
   Insert Into  TDCANJ_CLIE (CO_EMPR, CO_UNID_CONC, CO_CLIE, NU_CANJ, FE_CANJ, NU_SECU_CANJ, NU_ORDE_LETR,     
  NU_LETR_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, IM_DOCU, IM_SALD_DOCU,     
  IM_SALD_CONV, IM_CANJ_MCAN, IM_CANJ_MDOC, ST_CIER_DOCU,     
  CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI, CO_ESTA_ORIG )    
   Values ( @ISCO_EMPR, @ISCO_UNID_CONC, @ISCO_CLIE, @ISNU_CANJ, @IDFE_CANJ, @INNU_SECU_CANJ, NULL,    
        NULL, @ISCO_TIPO_DOCU, @ISNU_DOCU_CLIE, @INIM_DOCU, @INIM_SALD_DOCU,       @INIM_SALD_CONV, @INIM_CANJ_MCAN, 
@INIM_CANJ_MDOC, @ISST_CIER_DOCU,     
     @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE(), @ISCO_ESTA_ORIG )    
    
   If @@error <> 0    
      Begin    
        Rollback tran    
     Return    
      End        
    
    
   IF @ISST_CIER_DOCU = 'N'    
        SELECT @VSCO_ESTA_DOCU = @VSCO_ESTA_DOCI    
    
       
   If @VSCO_DOCU_LETR = @ISCO_TIPO_DOCU     
      Begin    
    
        Select  @VNNU_SECU = ISNULL(Max(NU_SECU),0) + 1    
        From   TDKARD_DOCU    
        Where   CO_EMPR = @ISCO_EMPR    
    
        Insert Into TDKARD_DOCU (CO_EMPR, NU_SECU,CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_ESTA_ACTU,    
       CO_ESTA_DOCU, NU_CORR_MODI, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI )    
        Values ( @ISCO_EMPR, @VNNU_SECU, @VSCO_DOCU_LETR, @ISNU_DOCU_CLIE, @ISCO_CLIE,    
          @VSCO_ESTA_DOCU, @ISCO_ESTA_ORIG, @VNNU_SECU, @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE() )      
    
        If @@error <> 0    
           Begin    
             Rollback tran    
             Return    
           End        
    
    
          Update TMLETR_CLIE    
          Set  CO_ESTA_DOCU = @VSCO_ESTA_DOCU,     
           NU_CANJ = @ISNU_CANJ,    
           IM_PAGA = IM_PAGA + @INIM_CANJ_MDOC,    
           CO_USUA_MODI = @ISCO_USUA_MODI,     
           FE_USUA_MODI = Getdate()    
          Where CO_EMPR = @ISCO_EMPR     
        And NU_LETR_CLIE = @ISNU_DOCU_CLIE        
      End    
   Else    
         Update TMDOCU_CLIE     
          Set  CO_ESTA_DOCU = @VSCO_ESTA_DOCU,     
           NU_CANJ = @ISNU_CANJ,    
           IM_PAGA = IM_PAGA + @INIM_CANJ_MDOC,    
   CO_USUA_MODI = @ISCO_USUA_MODI,     
           FE_USUA_MODI = Getdate()    
          Where CO_EMPR = @ISCO_EMPR     
        And CO_TIPO_DOCU = @ISCO_TIPO_DOCU     
        And NU_DOCU_CLIE = @ISNU_DOCU_CLIE    
    
     
    
   If @@error <> 0    
      Begin    
        Rollback tran    
        Return    
      End        
    
Commit Tran    
    
/*------------------------- Fin ------------------------------*/


GO
